/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fr.afcepf.projet2.metiers.donnees.dto.commandes;

import fr.afcepf.projet2.metiers.donnees.dto.comptes.AdresseDto;
import fr.afcepf.projet2.metiers.donnees.dto.comptes.UtilisateurDto;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Set;
import javax.xml.bind.annotation.XmlType;

/**
 * DTO représentant une commande
 *
 * @author Mageta
 */
@XmlType(namespace="http://dto.donnees.metiers.projet2.afcepf.fr/")
public class CommandeDto implements Serializable {

    private Long idCommande;
    private String numeroCommande;
    private Date dateCommande;
    private ModeLivraisonDto modeLivraison;
    private EtatCommandeDto etatCommande;
    private ModePaiementDto modePaiement;
    private List<LigneCommandeDto> ligneCommandes;
    private AdresseDto adresseLivraison;
    private AdresseDto adresseFacturation;
    private UtilisateurDto utilisateur;
    private String site;

    /**
     * Obtient l'identifiant de la commande
     *
     * @return idCommande
     */
    public Long getIdCommande() {
        return idCommande;
    }

    /**
     * Obtient le numero de la commande
     *
     * @return numeroCommande
     */
    public String getNumeroCommande() {
        return numeroCommande;
    }

    /**
     * Obtient la date de la commande
     *
     * @return dateCommande
     */
    public Date getDateCommande() {
        return dateCommande;
    }

    /**
     * Obtient le mode de livraison
     *
     * @return modeLivraison
     */
    public ModeLivraisonDto getModeLivraison() {
        return modeLivraison;
    }

    /**
     * Obtient l'etat de la commande
     *
     * @return etatCommande
     */
    public EtatCommandeDto getEtatCommande() {
        return etatCommande;
    }

    /**
     * Obtient le mode de paiement
     *
     * @return modePaiement
     */
    public ModePaiementDto getModePaiement() {
        return modePaiement;
    }

    /**
     * Obtient la liste de lignes de la commande
     *
     * @return ligneCommandes
     */
    public List<LigneCommandeDto> getLigneCommandes() {
        return ligneCommandes;
    }

    /**
     * Obtient l'adresse de livraison
     *
     * @return adresseLivraison
     */
    public AdresseDto getAdresseLivraison() {
        return adresseLivraison;
    }

    /**
     * Obtient l'adresse de facturation
     *
     * @return adresseFacturation
     */
    public AdresseDto getAdresseFacturation() {
        return adresseFacturation;
    }

    /**
     * Obtient l'utilisateur ayant effectue la commande
     *
     * @return utilisateur
     */
    public UtilisateurDto getUtilisateur() {
        return utilisateur;
    }

    /**
     * Defini l'identifiant de la commande
     *
     * @param idCommande
     */
    public void setIdCommande(Long idCommande) {
        this.idCommande = idCommande;
    }

    /**
     * Defini le numero de la commande
     *
     * @param numeroCommande
     */
    public void setNumeroCommande(String numeroCommande) {
        this.numeroCommande = numeroCommande;
    }

    /**
     * Defini la date de la commande
     *
     * @param dateCommande
     */
    public void setDateCommande(Date dateCommande) {
        this.dateCommande = dateCommande;
    }

    /**
     * Defini le mode de livraison
     *
     * @param modeLivraison
     */
    public void setModeLivraison(ModeLivraisonDto modeLivraison) {
        this.modeLivraison = modeLivraison;
    }

    /**
     * Defini l'etat de la commande
     *
     * @param etatCommande
     */
    public void setEtatCommande(EtatCommandeDto etatCommande) {
        this.etatCommande = etatCommande;
    }

    /**
     * Defini le mode de paiement
     *
     * @param modePaiement
     */
    public void setModePaiement(ModePaiementDto modePaiement) {
        this.modePaiement = modePaiement;
    }

    /**
     * Defini la liste de lignes de commande
     *
     * @param ligneCommandes
     */
    public void setLignesCommande(List<LigneCommandeDto> ligneCommandes) {
        this.ligneCommandes = ligneCommandes;
    }

    /**
     * Defini l'adresse de livraison
     *
     * @param adresseLivraison
     */
    public void setAdresseLivraison(AdresseDto adresseLivraison) {
        this.adresseLivraison = adresseLivraison;
    }

    /**
     * Defini l'adresse de facturation
     *
     * @param adresseFacturation
     */
    public void setAdresseFacturation(AdresseDto adresseFacturation) {
        this.adresseFacturation = adresseFacturation;
    }

    /**
     * Defini l'utilisateur ayant effectue la commande
     *
     * @param utilisateur
     */
    public void setUtilisateur(UtilisateurDto utilisateur) {
        this.utilisateur = utilisateur;
    }

    public String getSite() {
        return site;
    }

    public void setSite(String site) {
        this.site = site;
    }
}
